<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    .outer {
      width: 500px;
      height: 500px;
      background-color: pink;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
    }

    .center {
      width: 300px;
      height: 300px;
      background-color: skyblue;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
    }

    .inner {
      width: 100px;
      height: 100px;
      background-color: orange;
      position: absolute;
      top: 0;
      left: 600px;
      right: 0;
      bottom: 0;
      margin: auto;
    }

    p {
      width: 100px;
      height: 100px;
      background-color: purple;
      position: absolute;
      left: 600px;
      top: 500px;
    }
  </style>
</head>
<body>

  <div class="outer">
    <div class="center">
      <div class="inner"></div>
    </div>
  </div>
<!-- inner center outer body html document window -->


  <p></p>
  <script>
    //获取元素  
    // document.querySelector('.inner').addEventListener('click',function(){console.log('inner')});
    // document.querySelector('.center').addEventListener('click',function(){console.log('center')});
    // document.querySelector('.outer').addEventListener('click',function(){console.log('outer')});
    // document.body.addEventListener('click',function(){console.log('body')});
    // document.documentElement.addEventListener('click',function(){console.log('html')});
    // document.addEventListener('click',function(){console.log('document')});
    // window.addEventListener('click',function(){console.log('window')});

    // 上面  点击inner  因为inner 属于center 所以center被触发 
    // ....  一直传递到 window 全部触发 
    // 上面就是事件传播  又叫 事件冒泡 

    // 事件转播的三个阶段 
    // 从外往内  捕获 
    // 事件目标  触发事件的元素  
    // 从内往外  冒泡 

    // 上面给大家演示的是时间冒泡 

    // 我想只拿到 inner  或者只拿到 center  不让它冒泡到最上面   
    // 阻止事件传播方式:
    // 1. w3c浏览器 
    //   事件对象.stopPropgation();
    // 2. ie 
    //   事件对象.cancelBubble = true;


    // document.querySelector('.inner').addEventListener('click',function(e){
    //     e.stopPropagation();
    //     console.log('inner');
    // });
    // document.querySelector('.center').addEventListener('click',function(e){
    //     e.stopPropagation();
    //     console.log('center');
    // });
    // document.querySelector('.outer').addEventListener('click',function(e){
    //     e.stopPropagation();
    //     console.log('outer')});
    // document.body.addEventListener('click',function(e){e.stopPropagation();console.log('body')});
    // document.documentElement.addEventListener('click',function(){console.log('html')});
    // document.addEventListener('click',function(){console.log('document')});
    // window.addEventListener('click',function(){console.log('window')});


    // 捕获是 从外向内  冒泡 从内向外 

    // 元素.addEventListener(事件类型,函数,第三个参数);
    // 第三个参数默认值是false  表示冒泡 
    // 如果我们写成true 表示它是捕获


    // document.querySelector('.inner').addEventListener('click',function(){console.log('inner')},true);
    // document.querySelector('.center').addEventListener('click',function(){console.log('center')},true);
    // document.querySelector('.outer').addEventListener('click',function(){console.log('outer')},true);
    // document.body.addEventListener('click',function(){console.log('body')},true);
    // document.documentElement.addEventListener('click',function(){console.log('html')},true);
    // document.addEventListener('click',function(){console.log('document')},true);
    // window.addEventListener('click',function(e){e.stopPropagation();console.log('window')},true);

  </script>
</body>

</html>